By: Allyson Lynch

In [1]:
import pandas as pd
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole

Create Lewis diagrams for the popualar and unpopular amines.

In [2]:
def smilesimg_file(file_name):
    amines_df = pd.read_table(file_name)
    popularity_df = pd.read_table("Outputs/02 Popularity Files/amine_popularity.tsv")
    smiles_df = pd.merge(amines_df, popularity_df, left_on='Smiles', right_on='smiles', how='right').fillna(-1)
    for category,number in [["popular",1], ["unpopular",0]]: #if include absent <= number
        category_df = smiles_df.loc[smiles_df["metaloxides_popular"]==number]
        smiles_list = category_df['smiles'].tolist()
        mols_list = [Chem.MolFromSmiles(a) for a in smiles_list]
        img = Draw.MolsToGridImage(mols_list, molsPerRow=4, subImgSize=(200,200), maxMols=len(smiles_list))
        img.save("Outputs/x Smiles Images/"+category+'smilesimg.png')
    
smilesimg_file("Outputs/03 Outcomes/triangle_clean.tsv")